package com.ruoyi.business.domain;

import java.util.List;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 调压设施台账对象 bus_device_pressure
 * 
 * @author wf
 * @date 2024-07-17
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class BusDevicePressure extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 删除标识 */
    private String delFlag;

    /** 创建者ID */
    private Long createUser;

    /** 更新者ID */
    private Long updateUser;

    /** 调压设施编号 */
    @Excel(name = "调压设施编号")
    private String deviceCode;

    /** 类型 */
    @Excel(name = "类型")
    private String deviceType;

    /** 型号 */
    @Excel(name = "型号")
    private String deviceModel;

    /** 运行日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "运行日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date runDate;

    /** 进口压力范围（mpa） */
    @Excel(name = "进口压力范围", readConverterExp = "m=pa")
    private String inPressureRange;

    /** 出口压力（kpa） */
    @Excel(name = "出口压力", readConverterExp = "k=pa")
    private String outPressure;

    /** 进口压力远传 */
    private String inPressureRemote;

    /** 出口压力远传 */
    private String outPressureRemote;

    /** 进口管径（dn） */
    private String inPipe;

    /** 出口管径（dn） */
    private String outPipe;

    /** 外壳运行时间 */
    private Date shellRunTime;

    /** 影响范围 */
    private String reach;

    /** 泄露报警 */
    private String leakageAlarm;

    /** 设计流量 */
    private String designFlow;

    /** 低压是否联网 */
    private String lowPressureOnline;

    /** 是否有放散阀 */
    private String hasReleaseValve;

    /** 所属街道ID */
    @Excel(name = "所属街道ID")
    private Long streetId;

    /** 所属小区ID */
    @Excel(name = "所属小区ID")
    private Long neighborhoodId;

    /** 详细地址 */
    private String address;

    /** 纬度 */
    private String lat;

    /** 经度 */
    private String lon;

    /** 所在班组ID */
    @Excel(name = "所在班组ID")
    private Long teamId;

    /** 负责人员ID */
    @Excel(name = "负责人员ID")
    private Long personId;

    /** 内部照片 */
    private String imageOne;

    /** 外部照片 */
    private String imageTwo;

    /** 工艺流程图 */
    private String imageThree;

    /** 压缩包地址 */
    private String zipPath;

    /** 设备长度（m） */
    private String deviceLength;

    /** 设备宽度（m） */
    private String deviceWidth;

    /** 设备高度（m） */
    private String deviceHeight;

    /** 备注 */
    private String deviceDesc;

    /** 使用类型 */
    private String useType;

    /** 运行状态 */
    private String deviceStatus;

    /** 框体是否完整 */
    private String isFrameIntegrity;

    /** 柜体铭牌是否清晰完好 */
    private String isNameplateIntegrity;

    /** 是否有防撞护栏 */
    private String isBarrier;

    /** 报修、防火、禁止吸烟等警示标识是否清晰完好 */
    private String isMarkIntegrity;

    /** 是否有截门开关标识 */
    private String isShutterMark;

    /** 是否有流向标 */
    private String isFlowMark;

    /** 是否有泄爆口 */
    private String isExplosionVent;

    /** 是否有防雷接地、防静电装置 */
    private String isElectricProtection;

    /** 是否配备灭火器 */
    private String isFireExtinguisher;

    /** 预留口是否加堵 */
    private String isReserveBlocked;

    /** 调压设施周边是否存在占压、堆积杂物等 */
    private String isOccupy;

    /** 调压设施是否有定期保养记录 */
    private String isRegularMaintenance;

    /** 是否有报警探头 */
    private String isAlarmProbe;

    /** 静电跨接是否完整 */
    private String isStaticBridgingIntegrity;

    /** 放散管高度是否合规 */
    private String isPipeHeightCompliant;

    /** 安全阀是否超期未检 */
    private String isSafetyValveExpire;

    /** 上一次安全阀检定时间 */
    private Date lastSafetyValveCheckDate;

    /** 上一次压力表检定时间 */
    private Date lastPressureGageCheckDate;

    /** 是否有进口缸 */
    private String isInJar;

    /** 是否有进口闸 */
    private String isInFloodgate;

    /** 是否有出口缸 */
    private String isOutJar;

    /** 是否有出口闸 */
    private String isOutFloodgate;

    /** 调压设施工艺信息信息 */
    private List<BusDevicePressureItem> busDevicePressureItemList;


    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("delFlag", getDelFlag())
            .append("createUser", getCreateUser())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateUser", getUpdateUser())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("deviceCode", getDeviceCode())
            .append("deviceType", getDeviceType())
            .append("deviceModel", getDeviceModel())
            .append("runDate", getRunDate())
            .append("inPressureRange", getInPressureRange())
            .append("outPressure", getOutPressure())
            .append("inPressureRemote", getInPressureRemote())
            .append("outPressureRemote", getOutPressureRemote())
            .append("inPipe", getInPipe())
            .append("outPipe", getOutPipe())
            .append("shellRunTime", getShellRunTime())
            .append("reach", getReach())
            .append("leakageAlarm", getLeakageAlarm())
            .append("designFlow", getDesignFlow())
            .append("lowPressureOnline", getLowPressureOnline())
            .append("hasReleaseValve", getHasReleaseValve())
            .append("streetId", getStreetId())
            .append("neighborhoodId", getNeighborhoodId())
            .append("address", getAddress())
            .append("lat", getLat())
            .append("lon", getLon())
            .append("teamId", getTeamId())
            .append("personId", getPersonId())
            .append("imageOne", getImageOne())
            .append("imageTwo", getImageTwo())
            .append("imageThree", getImageThree())
            .append("zipPath", getZipPath())
            .append("deviceLength", getDeviceLength())
            .append("deviceWidth", getDeviceWidth())
            .append("deviceHeight", getDeviceHeight())
            .append("deviceDesc", getDeviceDesc())
            .append("useType", getUseType())
            .append("deviceStatus", getDeviceStatus())
            .append("isFrameIntegrity", getIsFrameIntegrity())
            .append("isNameplateIntegrity", getIsNameplateIntegrity())
            .append("isBarrier", getIsBarrier())
            .append("isMarkIntegrity", getIsMarkIntegrity())
            .append("isShutterMark", getIsShutterMark())
            .append("isFlowMark", getIsFlowMark())
            .append("isExplosionVent", getIsExplosionVent())
            .append("isElectricProtection", getIsElectricProtection())
            .append("isFireExtinguisher", getIsFireExtinguisher())
            .append("isReserveBlocked", getIsReserveBlocked())
            .append("isOccupy", getIsOccupy())
            .append("isRegularMaintenance", getIsRegularMaintenance())
            .append("isAlarmProbe", getIsAlarmProbe())
            .append("isStaticBridgingIntegrity", getIsStaticBridgingIntegrity())
            .append("isPipeHeightCompliant", getIsPipeHeightCompliant())
            .append("isSafetyValveExpire", getIsSafetyValveExpire())
            .append("lastSafetyValveCheckDate", getLastSafetyValveCheckDate())
            .append("lastPressureGageCheckDate", getLastPressureGageCheckDate())
            .append("isInJar", getIsInJar())
            .append("isInFloodgate", getIsInFloodgate())
            .append("isOutJar", getIsOutJar())
            .append("isOutFloodgate", getIsOutFloodgate())
            .append("busDevicePressureItemList", getBusDevicePressureItemList())
            .toString();
    }
}
